1.说下你对原型链的理解（面试高频题）。
	每声明一个对象，都会有一个prototype,也就是原型对象，实例化后的对象都会带有一个__prototype__属性，这个属性指向原型对象（也就是prototype）， 直到Object为止


2. js中__proto__和prototype的异同点。
	是什么：
	__proto__就是指向Human的prototype属性,当实例化一个对象的时候，会自动设置对象属性 __proto__ 等于 对应类的 prototype 属性
	每当定义一个函数数据类型（普通函数、类）时候，都会天生自带一个prototype属性，这个属性指向函数的原型对象，并且这个属性是一个对象数据类型的值。
	异同：
	__proto__是每个对象都有的一个属性，而prototype是函数才会有的属性。
	__proto__指向的是当前对象的原型对象，而prototype指向的，是以当前函数作为构造函数构造出来的对象的原型对象

3.Object.prototype 是什么？Object.__proto__ 是什么？Object.prototype.__proto__ 是什么？
	Object.prototype是一个对象，用于表示Object的原型对象
	Object.__proto__是每个对象被创建时自带的一个属性
	Object.prototype.__proto__ 的值是 null, 通常来说也是一个对象的原型链终点, 它表示了 Object.prototype对象没有原型

4.Array.prototype 是什么？Array.__proto__ 是什么？Array.prototype.__proto__ 是什么？
	Array.prototype 属性表示 Array 构造函数的原型，并允许向所有Array对象添加新的属性和方法。
	Array.__proto__是一个构造函数
	Array.prototype.__proto__表示对象

5.Function.prototype 是什么？Function.__proto__ 是什么？
	Function.prototype是个特例，它是函数对象，但是没有prototype属性。
	Function.__proto__是一个对象
	Function.prototype.__proto__是一个对象

都为true:
	Function.prototype.__proto__ === Object.prototype都为true:
	Function.prototype===Function.__proto__
	Array.__proto__===Function.prototype
	Array.__proto__===Function.prototype
